The present invention relates to an ATM (Asynchronous Transfer Mode) exchange which is used as a high-speed exchange node of a large scale network such as the Internet.
In the network composed of ATM exchanges, data are transmitted being divided into cells having fixed data length. A VC (Virtual Connection) is established through ATM exchanges to link each pair of terminal points. At the data transmission terminal point, frame data supplied from an upper layer are segmented into transmission cells, which are transmitted in the network being switched node by node so as to follow their own VC through the ATM exchanges and arrive to the destination terminal point. At the destination terminal point, received cells are reassembled again into the frame data, for example.
For identifying the VC, identifier information called VPI/VCI (Virtual Path Identifier/Virtual Channel Identifier) is included in each cell header, and, independently in each link connecting two neighboring exchange nodes, an individual VPI/VCI is assigned for a specific VC, for economizing VPI/VCI resources.
According to the VPI/VCI of a cell arriving to an ATM exchange through an input port, the ATM exchange performs routing of the cell, that is, determines an output port connected to a link where the concerning cell is to be forwarded and rewrites the VPI/VCI into another value which is assigned in the output link for the concerning VC. For this purpose, the ATM exchange is provided with a routing table where connection information of each VC is described when the VC is established between a pair of terminal points.
A VC which is established fixedly by a network manager, for example, is called a PVC (Permanent VC) and a VC which is established temporarily when a need of data exchange occurs is called a SVC (Switched VC). The PVC, which should be settled manually, is not practical for a large scale network. On the other hand, a complicated and time needing procedure is required every time when a VC is established, according to the SVC. Therefore, automatic and high-speed connection management method applicable for a large scale network is earnestly pursued recently, and there has been proposed, for example, a network provided with ATM exchanges which organize connections autonomically by self-learning topology of the network.
In any way, connection information such as the routing table should be provided for each ATM exchange to perform routing of cells.
Usually, data fields of 12 bits and 16 bits are assigned for the VPI and the VCI, respectively, in a cell header. Therefore, a routing table having a memory space of more than 228xc3x9728 bits is required for an ATM exchange, when rewrite data of all possible logic values of the input VPI/VCI are described in the routing table.
In a Japanese patent application laid open as a Provisional Publication No. 199256/""93, there is disclosed a method for reducing the memory space of the routing table according to the number of active VPI/VCI values. In this method, 16 bits of a VCI value, for example, are divided into 4xc3x974 bits. First, a routing table is accessed with an address indicated by first 4 bits of the VCI. The contents of the routing table thus obtained through the first access is used as upper its of the address data for the second access to the routing table, together with second 4 bits of the VCI which are used as lower bits of the address data. In the same way, the routing table is accessed 4 times with address data composed of previous retrieval results and partial bits of the VCI. The retrieval result of fourth access is used as the rewrite data of the VCI. This prior art describes that the memory space of a routing table for rewriting the VCI of 16 bits can be reduced from 216xc3x9716=64 k bits into at most 20368xc3x9716 bits on condition the number of active VCI value is 1000.
Usage of a CAM (Contents Addressable Memory) is also a well-known method for reducing the memory space of the routing table when the number of active values, that is, the number of connections actually established is smaller than the number corresponding to bit length of the VPI/VCI.
Furthermore, the number of connections itself becomes considerably large when the network scale becomes large, because it increases in proportion to a square of the number of terminal points to be linked with each other. Therefore, it is preferable for the large scale network if a plurality of connections can be treated as a group by joining data streams flowing towards a specific terminal point or flowing ill a specific direction.
However, once a plurality of data streams are joined, that is, a common VPI/VCI is assigned to a plurality of connections, cells cannot be reassembled into frame data to be transferred to an upper layer, the AAL 5 (ATM Adaptation Layer 5), for example, even if all the jointed connections are those representing data streams to be terminated by a specific terminal point.
This problem might be resolved by performing queuing of cells frame by frame before joining the data streams. However, this method, which is substantially the same as performing packet exchange, degrades jitter characteristic and distracts real-time data transmission of the ATM network.
Another method of dealing with a plurality of data streams as one group is to perform so called VP routing, by assigning a common VPI for connections of data streams flowing towards a specific direction.
FIG. 8 is a block diagram schematically illustrating a partial configuration, concerning rewriting, or converting, the VPI/VCI, of a conventional ATM exchange wherein the VP routing is performed selectively.
Referring to FIG. 8, the conventional ATM exchange comprises a VPI/VCI converter 1, a VP-routing-bit generator 4 and a VCI selector 5.
The input VPI and the input VCI (a VPI and a VCI value of a cell arriving at an input port of the ATM exchange) is inputted to the VPI/VCI converter 1. The VPI/VCI converter 1 outputs another VPI and VCI value corresponding to the VPI/VCI to be attached to the arriving cell when it is transmitted from an output port, by referring to a routing table which is realized with a CAM, for example.
Here, the VPI/VCI converter 1 outputs dummy data, (0, for example) as the VCI value when the input VPI (and, consequently, the output VPI) has one of certain values assigned for the VP routing, that is, assigned to groups of data streams to be dealt with collectively.
The input VPI is also supplied to the VP-routing-bit generator 4, which outputs a VP routing bit having logic xe2x80x981xe2x80x99, for example, when the input VPI has one of the logic values assigned for the VP routing, while the VP-routing-bit generator 4 outputs a VP routing bit of logic xe2x80x980xe2x80x99 when the input VPI has one of the logic values assigned for ordinary VC routing, that is, assigned to data streams each to be dealt with individually.
The VPI value outputted from the VPI/VCI converter 1 is always used as the output VPI to be attached to the concerning transmission cell. On the other hand, either one of the input VCI itself or the VCI value outputted from the VPI/VCI converter 1 is used as the output VCI, being selected by the VCI selector 5 according to logic of the VP routing bit supplied from the VP-routing-bit generator 4.
Thus, the VPI and the VCI are both rewritten in the cell header according to the VC routing, while only the VPI is rewritten and the input VCI itself is used as the output VCI, in the cell header according to the VP routing, in the conventional ATM exchange.
Through performing the VP routing, a plurality of connections having a common VPI can be dealt with collectively, which enables to reduce connection information to be registered in the routing table.
However, there are following problems in the conventional VP routing as above described.
A problem is that the VCI resources may be wasted being unused. When data lengths of the VPI/VCI are 12 bits and 16 bits, respectively, 65, 536=216 different VCIs can share a specific VPI value. However, when the VPI value is assigned to a group of 1000 connections, for example, other 64,536 VCIs are left unused.
Another problem is that the number of groups to be dealt with collectively is limited within 4096=212, which is inconvenient in the large scale network.
Therefore, a primary object of the present invention is to provide an ATM exchange wherein more supple collective routing than the conventional VP routing is enabled without waste of VPI/VCI resources.
In order to achieve the object, an ATM exchange of the invention comprises:
a VPI/VCI converter for retrieving a logic value according to an input VPI/VCI value written in a VPI/VCI field of header information of a cell arriving to an input port of the ATM exchange, said logic value being predetermined for each of individual connections to be dealt with individually and groups of connections to be dealt with collectively by the ATM exchange;
a mask-bit generator for generating a mask-bit pattern having the same bit length with the VPI/VCI field, a number, which is predetermined for each of the groups of connections, of lower bits of the mask-bit pattern having logic xe2x80x981xe2x80x99 and other upper bits thereof having logic xe2x80x980xe2x80x99 when the mask-bit pattern concerns one of the groups of connections, and all bits of the mask-bit pattern having logic xe2x80x980xe2x80x99 when the mask-bit pattern concerns one of the individual connections; and
a VPI/VCI bit selector for generating an output VPI/VCI value to be written in the VPI/VCI field of the cell before the cell is transmitted from an output port of the ATM exchange, by selecting logic of each bit of the output VPI/VCI value to have the same logic with a corresponding bit of the logic value outputted from the VPI/VCI converter when a corresponding bit of the mask-bit pattern has logic xe2x80x980xe2x80x99, and to have the same logic with a corresponding bit of the input VPI/VCI value when a corresponding bit of the mask-bit pattern has logic xe2x80x981xe2x80x99.
Therefore, by selecting an appropriate mask-bit length for each group of connections flowing in the same direction, a supple collective routing can be performed with minimum waste of VCI resources, and for a large number of groups up to 227, if desired.